#ifndef __GAME_H__
#define __GAME_H__

#include <vector>

//#include "Singleton.h"

class CGameState;

class CGameEngine
{
public:
   
	CGameEngine();

	void Init();
	void Cleanup();

	void ChangeState(CGameState* state);
	void PushState(CGameState* state);
	void PopState();

	void HandleEvents();
	void Update();
	void Draw();

	bool Running() { return m_running; }
	void Quit() { m_running = false; }

	void Run();

	sf::RenderWindow  window;

private:
  // wszystkie wektory /dawid: a nie stany?/
  std::vector<CGameState*> states;

  bool m_running;
};

#endif //__GAME_H__